package com.vpx.server.mapper.system;

import org.apache.ibatis.annotations.Param;
import org.apache.ibatis.annotations.Select;
import org.apache.ibatis.annotations.Update;

/**
 * @author xx
 * @title: vpx
 * @module 
 * @description: 
 * @date 
 */
public interface SysUidMapper {
	/**
	 * 注意：for update 时TYPE字段一定要加索引，否则可能或锁表 
	 * @param type
	 * @return
	 */
	@Select("select num + 1 from sys_uid where type = #{type}")
	long queryNextNum(@Param("type") String type);
	/**
	 * 更新索引
	 * @param type
	 */
	@Select("update sys_uid set num = num + 1  where type = #{type}")
	void updateNextNum(@Param("type") String type);

	/**
	 * 查询点位信息
	 * @param type
	 * @param num
	 * @return
	 */
	@Select("select num + #{num} from sys_uid where type = #{type}")
	long queryAppointNextNum(@Param("type") String type, @Param("num") String num);

	 /**
	  * 更新数据
	  * @param type
	  * @param num
	  */
	@Update("update sys_uid set num = num + #{num}  where type = #{type}")
	void updateAppointNextNum(@Param("type") String type, @Param("num") String num);
}
